---
author: hongbo
date: "2019-04-22"
previewImg:
title: Architectural Changes in BuckleScript 5.0.4 and 6.0.1
badge: release
description: |
---

## Upcoming Changes

We are going to make releases of bs-platform@5.0.4 and bs-platform@6.0.1, this
release mostly contains bug fixes.

At the same time, we are introducing an internal change which should be fine
for average users.

If you are tooling authors, here are some details: previously we ship react_jsx
ppx as a stand-alone binary, for example, reactjs_jsx_ppx_v2.exe,
reactjs_jsx_ppx_v2.exe. Recently we start more close integration with
[reason](https://reasonml.github.io), so it is absorbed into bsc.exe itself, we
introduced a flag to have react-jsx on/off (note these are internal flags, not
expected to be exposed to average users):

```
bsc.exe -bs-jsx 2 # turn on reactjs_jsx_ppx_v2
bsc.exe -bs-jsx 3 # turn on reactjs_jsx_ppx_v3
```

Like before, we also ship a stand alone bsppx.exe, it now absorbs
reactjs_jsx_ppx as well.

```
bsppx.exe -bs-jsx 2 # turn on reactjs_jsx_ppx_v2
bsppx.exe -bs-jsx 3 # turn on reactjs_jsx_ppx_v3
```

The benefit of this change is that it help reduced the prebuilt binary size
significantly and it also help shave 5~10ms per file compilation.

Another minor change we added, is that we introduced an env variable
`BS_VSCODE` to help error messages more adapted to VsCode, see
[here](https://bucklescript.github.io/docs/en/build-configuration#bs-vscode-error-output-adapted-for-vscode)
for more details.
